package promote.brozen.utils.collections;

import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

public class Sets {

    public static <T> Set<T> of (T e) {
        return Collections.singleton(e);
    }

    public static <T> Set<T> of (T e1, T e2) {
        Set<T> set = new HashSet<>();
        set.add(e1);
        set.add(e2);
        return Collections.unmodifiableSet(set);
    }

    public static <T> Set<T> of (T e1, T e2, T e3) {
        Set<T> set = new HashSet<>();
        set.add(e1);
        set.add(e2);
        set.add(e3);
        return Collections.unmodifiableSet(set);
    }

    public static <T> Set<T> of (T e1, T e2, T e3, T e4) {
        Set<T> set = new HashSet<>();
        set.add(e1);
        set.add(e2);
        set.add(e3);
        set.add(e4);
        return Collections.unmodifiableSet(set);
    }

    public static <T> Set<T> of (T e1, T e2, T e3, T e4, T e5) {
        Set<T> set = new HashSet<>();
        set.add(e1);
        set.add(e2);
        set.add(e3);
        set.add(e4);
        set.add(e5);
        return Collections.unmodifiableSet(set);
    }

    public static <T> Set<T> of (T e1, T e2, T e3, T e4, T e5, T e6) {
        Set<T> set = new HashSet<>();
        set.add(e1);
        set.add(e2);
        set.add(e3);
        set.add(e4);
        set.add(e5);
        set.add(e6);
        return Collections.unmodifiableSet(set);
    }


}
